package com.ibiaoke.order.service;

import com.ibiaoke.customer.entity.Customer;
import com.ibiaoke.order.entity.Order;
import org.springframework.transaction.annotation.Transactional;

import java.math.BigDecimal;
import java.util.Map;

public interface OrderPayService {
    @Transactional
    Map<String, String> payOrderByWeChat(Integer orderId, String openId);

    @Transactional
    Map<String, Object> payOrderByAppWeChat(Integer orderId,String ip);

    @Transactional
    String payOrderByAliPay(Integer orderId);

    @Transactional
    String payOrderByAppAliPay(Integer orderId);

    void validate(Order order);

    void payOrderByDepositPay(Integer orderId, Customer customer, String smsCode);

    void offLinePayByDeposit(Integer shopId, BigDecimal cash ,Customer customer, String smsCode);

    void xcxOffLinePayByDeposit(Integer shopId, BigDecimal cash ,Customer customer, String smsCode);
}
